package com.onec.service.customer.service;


import com.onec.service.api.dto.request.gateway.BizContent;
import com.onec.service.customer.entity.agent.AgentInfo;
import com.onec.service.customer.entity.merchant.MerchantBusiness;
import com.onec.service.customer.entity.merchant.MerchantInfo;

/**
 * 机构信息处理：
 *
 * @author onec
 */
public interface MerchantInfoService {

    /**
     * 商户信息：
     *
     * @param merchantNo
     * @return
     */
    MerchantInfo getMerchantInfo(String merchantNo);

    /**
     * 可用商户信息：
     *
     * @param merchantNo
     * @return
     */
    MerchantInfo getAvailableMerchant(String merchantNo);


    MerchantBusiness getMerchantBusiness(long merchantId, String businessNo);


    MerchantInfo createMerchant(BizContent bizContent, AgentInfo agentInfo);

    /**
     * 添加新的商户:同时做了查询外部商户行级锁：
     *
     * @param merchantInfo
     * @return
     */
    MerchantInfo lockCreateMerchant(MerchantInfo merchantInfo);

    boolean updateMerchantOutCode(String outCode);
}
